The effects of multipath are well known in communications systems. Multipath is the term used to define the secondary signals that are locally induced reflections of a primary signal that enter the receiver in question a fraction of a second later than the direct path signal, and because of the relatively short delay between the original signal and the secondary signal, induce a type of destructive interference that results in some type of impairment to the desired signal. In analog FM band automobile receivers, the effects of multipath create an annoying flutter that causes a loss of intelligibility. In television signals, the impairment is called a "ghost" image. A similar impairment occurs in other forms of analog communication. In digital systems, whether for speech or for data transmission for other purposes, multipath basically adds noise to the desired signal, resulting in either outright errors or at least, much noisier data. In spread spectrum receivers, the effects of multipath are generally found in the correlators used to achieve signal timing synchronization. In GPS or GLONASS receivers, which seek to determine location based on triangulation of range distances determined from time delay measurements made from an orbiting constellation of satellites, the effect of multipath is to induce comparatively large instantaneous errors in the time of arrival measurements which translate into large errors in the indicated positions. Removal of these errors is the subject of most of the work done by previous workers in this field. Previous researchers have sought to deal with the effects of multipath by attempting to estimate the magnitude of the error introduced, and to subtract this error or to otherwise compensate for its effects.
The methods employed to acquire and demodulate data from spread spectrum transmissions is well known in the art. See R. E. Ziemer and R. L. Peterson, Digital Communications and Spread Spectrum Systems, Macmillan Publ Co., New York, 1985, pp. 419-447 for a discussion of acquisition and demodulation of spread spectrum signals. A spread spectrum GPS receiver must obtain both code and carrier synchronization in order to demodulate the desired data successfully. Issues associated with tracking and accurately demodulating a spread spectrum signal, once the signal is acquired, are discussed in many references on GPS, such as Alfred Leick, GPS Satellite Surveying, John Wiley & Sons, New York, Second Edition, 1995, and Ziemer and Peterson, op cit.
A GPS signal contains a 50 bit/second navigation message and a unique spreading code (C/A) of length 1.023 kilobits, which is transmitted at a frequency of about 1.023 Mbits/sec. Signal acquisition requires that phase lock first occur with the radio frequency carrier and that the reference or local replica signal be synchronized with the spreading code. In signal synchronization, a local replica of the particular satellite code is synchronized in time with the incoming satellite signal code.
Once the Doppler error in the downlink signal from the satellite is appropriately compensated for and signal synchronization is obtained, the navigation message in the 50 bit/second modulation that forms the composite GPS signal (direct plus multipath) can be demodulated. This navigation message contains data on the satellite ephemerides and time pulses that indicate when the transmission originated from the satellite. By measuring the difference between the local clock time and the indicated satellite time of transmission, the time delay, and thus the instantaneous distance from GPS receiver to satellite, can be obtained by multiplying this time delay by the speed of light in the ambient medium.
Signal synchronization is performed using a signal correlator. The correlator constantly compares the incoming signal with a local replica of the desired signal; a microprocessor adjusts a time shift .tau. of the local replica signal until satisfactory agreement is obtained. Because the incoming signal and the local replica signal are substantially identical, a measure of the degree of agreement of these two signals is often referred to as an autocorrelation function. A variety of autocorrelation functions AC(.tau.) are shown in various texts, and an example is shown in FIG. 1A. An autocorrelation function AC(.tau.) can be described according to one of the equations ##EQU1## depending upon whether integration or summation of sampled values over a suitable contribution time interval is used to compute the composite signal autocorrelation function. The length T of the contribution time interval used to compute the autocorrelation function in Eq. (1A) or (1B) is often chosen to be N times the chip length .DELTA..tau..sub.chip, where N is a large positive number.
Tracking the composite satellite signal requires maintaining signal synchronization. The peak of the autocorrelation function is rounded, not pointed, due to finite bandwidth effects, so that locating a true peak is difficult. Receiver designers have, therefore, resorted to an "early-minuslate" correlation tracking method, as discussed by W. M. Bowles in "Correlation Tracking," Charles Stark Draper Laboratory, May 1980, by Fenton et al in U.S. Pat. No. 5,101,416, and by Lennen in U.S. Pat. Nos. 5,402,450 and 5,493,588. In the early-minus-late tracking method, a first correlator measures an equivalent autocorrelation function when the local replica signal is shifted to an "early" time t.sub.E relative to the position (.tau.=t.sub.P) of an ideal or punctual replica, and a second correlator measures a second equivalent autocorrelation function when the local replica signal is shifted to a "late" time t.sub.L. Early and late replicas of the punctual autocorrelation function AC(.tau.;P) are illustrated in FIG. 1B. By subtracting the late autocorrelation function from the early autocorrelation function, a correlation tracking function or autocorrelation difference function .DELTA.AC(.tau.) with a zero crossing, corresponding to the autocorrelation function peak can be developed, if the separations of the early and late time shifts from the punctual time shift are chosen to be equal. A representative early-minus-late tracking function .DELTA.AC(.tau.) is shown in FIG. 1C.
If the tracking or time shift variable .tau. for the autocorrelation difference function .DELTA.AC(.tau.) lies to the left (to the right) of the zero crossing point, the system uses the presence of positive (negative) values of .DELTA.AC(.tau.) to increase (decrease) the value of .tau. and drive the system toward the zero crossing point for .DELTA.AC(.tau.). The zero-crossing point is thus easily measured and tracked, and the equivalent peak value and peak location for the autocorrelation function is easily determined. At the zero-crossing point on this doublet-like tracking function, maximum correlation occurs between the incoming signal and the local replica signal. The zero-crossing point represents the best estimate of time shift .tau. for signal synchronization. The internal clock time corresponding to the zero crossing point is a good estimate for time of arrival of an incoming signal at the receiver.
Superposition of an equivalent autocorrelation function for the multipath signal (reduced in magnitude and delayed in time) onto the autocorrelation function AC(.tau.) for the desired satellite code signal is a useful model for analyzing the effects of presence of multipath signals, as noted in the Fenton et al patent and in the Lennen patent, op. cit. Superposition of any additional signal onto the desired incoming signal, during the time period when signal correlation occurs, will distort the desired autocorrelation function AC(.tau.;direct) and produce an altered autocorrelation function AC(.tau.;composite) for the composite signal (direct plus multipath). An autocorrelation function for an uncorrupted or "pure" direct signal is shown along with a representative, attenuated and time delayed, multipath autocorrelation function with positive relative polarity, compared to the direct signal, in FIG. 2A. The autocorrelation for the composite, corrupted incoming signal is obtained by summing the two autocorrelation functions and is compared with the uncorrupted autocorrelation function in FIG. 2B. FIGS. 2C and 2D are similar graphs, showing the autocorrelation function for a multipath signal with negative relative polarity, compared to the direct signal. Any such distortion produces errors in the indicated zero-crossing point on the early-minus-late correlation tracking function. These errors in indicated punctual time shift produce errors in the pseudorange measurements, and will in turn produce an error in the final computed estimate of location coordinates for the receiver.
Another useful and equivalent model for analyzing the effects of presence of a multipath signal computes the autocorrelation functions AC(.tau.;x;direct) and AC(.tau.;x;multipath) (x=E, L) for the pure direct signal and the pure multipath signal, forms the differences .DELTA.AC(.tau.;direct) and .DELTA.AC(.tau.;multipath) and adds these two difference functions to obtain the autocorrelation difference function .DELTA.AC(.tau.;composite) for the composite signal.
Representative autocorrelation difference functions for a direct incoming signal and a composite incoming signal are shown in FIGS. 3B and 3D for positive relative multipath polarity and negative relative multipath polarity, respectively, compared to the direct signal. The tracking error due to presence of the multipath signal, obtained from the difference in zero crossing points for the direct signal and for the composite signal, is easily seen from these figures.
Previous work in the area of multipath amelioration has focussed on two approaches: 1) estimating the effects and compensating for multipath-induced errors, and 2) attempting to limit the effects of the estimated multipath errors. In the Lennen patents, op. cit., both approaches are described. The estimation methods seek to model the distortions to the instantaneous autocorrelation function and to create a correction term to subtract from the indicated punctual time. Estimation methods are worthwhile but can never obtain perfection, wherein all multipath effects are removed, because the multipath signals are constantly varying and corrections can only be done after the fact.
A multipath limitation method, such as described in the Lennen patent, op. cit., operates the early-minus-late correlation tracking loop with a shorter delay between the early signal and late signal correlators than previous methods had employed. This limitation method reduces the effects of the presence of multipath substantially. In FIGS. 1B and 1C, the autocorrelation function AC(.tau.) and the corresponding tracking function .DELTA.AC(.tau.) are shown for the case where the early-minus-late time delay is approximately 0.15 times the width .DELTA..tau..sub.chip of a digital signal bit or chip.
Several workers have analyzed correlation functions and/or have used pseudorandom signal sequences in attempting to estimate or suppress the effects of the presence of multipath signals. Examples of these are Winters in U.S. Pat. No. 4,007,330, Tomlinson in U.S. Pat. No. 4,168,529, Bowles et al in U.S. Pat. Nos. 4,203,070 and 4,203,071, Guignon et al in U.S. Pat. No. 4,550,414, Dickey et al in U.S. Pat. No. 4,608,569, Liebowitz in U.S. Pat. No. 4,660,164, Borth et al in U.S. Pat. No. 4,829,543, McIntosh in U.S. Pat. No. 4,862,478, Wales in U.S. Pat. No. 5,091,918, Fenton et al in U.S. Pat. Nos. 5,101,416, 5,390,207, 5,414,729 and 5,495,499, Cai et al in U.S. Pat. No. 5,164,959, Scott et al in U.S. Pat. No. 5,282,228, Meehan in U.S. Pat. No. 5,347,536, Lennen in U.S. Pat. Nos. 5,402,450 and 5,493,588, Johnson et al in U.S. Pat. No. 5,444,451, Kuhn et al in U.S. Pat. No. 5,481,503, and Fox et al in U.S. Pat. No. 5,488,662.
In previous methods for multipath amelioration, samples are taken of the incoming direct (desired) signal plus the incoming multipath signal(s) over the entire width of the chip, using a uniform sampling rate and without assigning any variable weighting to the samples. Further, little or no account is taken of the effect of bit value transitions for consecutive bits for the incoming digital signal. What is needed here is an approach that obtains correlation information from portions of a chip width where the effects of presence of multipath signals are suppressed, by examining bit value transitions for consecutive bits for the incoming digital signal and by use of this information to choose a (non-uniform) weighting function for formation of a modified autocorrelation function for the incoming digital signal. Preferably, the approach should be adaptable to allow suppression of a controllable amount of multipath signal contributions to the autocorrelation function and should continue to provide tracking indicators that indicate the direction of time shift required to achieve signal synchronization as the unit operates.